package com.kingyun.gpsinspection.purificationservice.dao.mapper.iam.adm;


import com.kingyun.gpsinspection.purificationservice.facade.model.BootstrapSearchBean;
import com.kingyun.gpsinspection.purificationservice.facade.model.iam.adm.BusinessTravel;

import java.util.List;

public interface BusinessTravelMapper {
    /**
     * 删除出差申请
     *
     * @param businessTravelId 出差申请id
     * @return
     */
    int deleteByPrimaryKey(String businessTravelId);

    /**
     * 新增出差申请
     *
     * @param record 出差申请基本信息
     * @return
     */
    int insert(BusinessTravel record);

    int insertSelective(BusinessTravel record);

    /**
     * 查询出差申请信息
     *
     * @param businessTravelId 出差申请id
     * @return
     */
    BusinessTravel selectByPrimaryKey(String businessTravelId);

    /**
     * 更新出差申请信息
     *
     * @param record 出差申请基本信息
     * @return
     */
    int updateByPrimaryKeySelective(BusinessTravel record);

    int updateByPrimaryKey(BusinessTravel record);

    /**
     * 出差申请列表
     *
     * @param bootstrapSearchBean
     * @return
     */
    List<BusinessTravel> queryList(BootstrapSearchBean bootstrapSearchBean);

    /**
     * 出差申请总数量
     *
     * @param bootstrapSearchBean
     * @return
     */
    Integer queryCount(BootstrapSearchBean bootstrapSearchBean);

    /**
     * 代办查找
     *
     * @param bootstrapSearchBean
     * @return
     */
    List<Object> searchByPIId(BootstrapSearchBean bootstrapSearchBean);

    /**
     * 代办总条数
     *
     * @param bootstrapSearchBean
     * @return
     */
    int totalCountByPIId(BootstrapSearchBean bootstrapSearchBean);

    /**
     * 查询已审批列表
     *
     * @param vacationApply
     * @return
     */
    List<BusinessTravel> queryProcessedList(BusinessTravel vacationApply);

    /**
     * 查询已审批列表总数量
     *
     * @param vacationApply
     * @return
     */
    Integer queryProcessedCount(BusinessTravel vacationApply);

    /**
     * 查询出差待办总数量
     */
    Integer queryToDoCount(BusinessTravel businessTravel);

    /**
     * 查询出差待办分页数据
     */
    List<BusinessTravel> queryToDoList(BusinessTravel businessTravel);
}